package cn.com.guage.study;

/**
 * 
 * 选择排序
 *
 */
public class SelectSort {
	/*
	 * 1、基本思想 （1）在序列中找到最小元素，放在第一个位置； （2）从剩余未排序元素中继续寻找最小元素，放在第二个位置； 以此类推，直到排序完毕。
	 */
	public static void selectSort(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			int minIndex = i;
			int min = arr[minIndex];
			for (int j = 1 + i; j < arr.length; j++) {
				if (min > arr[j]) {
					min = arr[j];
					minIndex = j;
				}
			}
			arr[minIndex] = arr[i];
			arr[i] = min;
		}
	}

	public static void main(String[] args) {
		int[] numbers = new int[] { 12, 9, 23, 34, 13, 45, 23, 65, 34, 67, 13, 54, 25, 67, 87 };
		selectSort(numbers);
		System.out.println("从小到大排序后的结果是:");
		for (int i = 0; i < numbers.length; i++)
			System.out.print(numbers[i] + " ");
	}
}
